﻿using LimaLims.Application.Service.Base.Dto;
using LimaLims.Core;
using LimaLims.Core.Entity.Basic;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LimaLims.Application.Service.Basic.Dto
{
    public class AddProjectDrawingInput : BaseDto
    {
        /// <summary>
        /// 编号
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        public string ProjectName { get; set; }

        /// <summary>
        /// 产品分类
        /// </summary>
        public long ProductCategoryId { get; set; }

        /// <summary>
        /// 产品名称
        /// </summary>
        public string ProducName { get; set; }

        /// <summary>
        /// 产品数量
        /// </summary>
        public int ProductCount { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        public string Unit { get; set; }

        /// <summary>
        /// 规格型号
        /// </summary>
        public string Specification { get; set; }

        /// <summary>
        /// 产品代号
        /// </summary>
        public string ProductSymbol { get; set; }

        /// <summary>
        /// 相数
        /// </summary>
        public int PhaseNumber { get; set; }

        /// <summary>
        /// 频率(Hz)
        /// </summary>
        public int Frequency { get; set; }

        /// <summary>
        /// 额定容量（kVA）
        /// </summary>
        public int RatedCapacity { get; set; }

        /// <summary>
        /// 高压额定电流(A)
        /// </summary>
        public float? HighVoltageRatedCurrent { get; set; }

        /// <summary>
        /// 低压额定电流(A)
        /// </summary>
        public float? LowVoltageRatedCurrent { get; set; }

        /// <summary>
        /// 高压额定电压(kV)
        /// </summary>
        public float? HighVoltageRatedVoltage { get; set; }

        /// <summary>
        /// 低压额定电压(kV)
        /// </summary>
        public float? LowVoltageRatedVoltage { get; set; }

        /// <summary>
        /// 冷却方式
        /// </summary>
        public string CoolingMode { get; set; }

        /// <summary>
        /// 绝缘等级
        /// </summary>
        public string InsulationClass { get; set; }
    }

    public class EditProjectDrawingInput : AddProjectDrawingInput
    {

    }

    public class ProjectDrawingOutput : BaseDto
    {
        /// <summary>
        /// 编号
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        public string ProjectName { get; set; }

        /// <summary>
        /// 产品分类
        /// </summary>
        public long ProductCategoryId { get; set; }

        /// <summary>
        /// 产品名称
        /// </summary>
        public string ProducName { get; set; }

        /// <summary>
        /// 产品数量
        /// </summary>
        public int ProductCount { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        public string Unit { get; set; }

        /// <summary>
        /// 规格型号
        /// </summary>
        public string Specification { get; set; }

        /// <summary>
        /// 产品代号
        /// </summary>
        public string ProductSymbol { get; set; }

        /// <summary>
        /// 相数
        /// </summary>
        public int PhaseNumber { get; set; }

        /// <summary>
        /// 频率(Hz)
        /// </summary>
        public int Frequency { get; set; }

        /// <summary>
        /// 额定容量（kVA）
        /// </summary>
        public int RatedCapacity { get; set; }

        /// <summary>
        /// 高压额定电流(A)
        /// </summary>
        public float? HighVoltageRatedCurrent { get; set; }

        /// <summary>
        /// 低压额定电流(A)
        /// </summary>
        public float? LowVoltageRatedCurrent { get; set; }

        /// <summary>
        /// 高压额定电压(kV)
        /// </summary>
        public float? HighVoltageRatedVoltage { get; set; }

        /// <summary>
        /// 低压额定电压(kV)
        /// </summary>
        public float? LowVoltageRatedVoltage { get; set; }

        /// <summary>
        /// 冷却方式
        /// </summary>
        public string CoolingMode { get; set; }

        /// <summary>
        /// 绝缘等级
        /// </summary>
        public string InsulationClass { get; set; }
    }

    /// <summary>
    /// 分页
    /// </summary>
    public class ProjectDrawingPageInput : PageInputBase
    {
        /// <summary>
        /// 合同编号/名称
        /// </summary>
        public string ContractValue { get; set; }
    }
}
